Azure Functions
https://gyazo.com/777f37051514f6c76dcf43ad945e6142
AzureのFaaS Function as a Service
イベントドリブン型のサーバーレス Server Less コンピューティングにとどまらない優れたプラットフォーム
Azure Functions の概要 | Microsoft Docs
トリガー
関数が実行される起点
トリガーで関数の呼び出し方法が定義
1 つの関数には正確に 1 つのトリガーを含める必要
トリガーにはデータが関連付けられていて、多くの場合、関数のペイロードとして提供
Azure Functions のトリガーとバインド | Microsoft Docs
主要トリガー
HTTPTrigger
HTTP 要求を使用して、コードの実行をトリガー
TimerTrigger
事前定義されたスケジュールに従ってクリーンアップなどのバッチ タスクを実行
CosmosDBTrigger
Azure Cosmos DB ドキュメントが NoSQL Database データベースのコレクションに追加されたか更新されたときに、それらを処理
BlobTrigger
Azure Blob Storage がコンテナーに追加されたときに、それを処理
利用用途
画像のサイズ変更
QueueTrigger
Azure Storage キューにメッセージが配信されたときに応答
EventGridTrigger
Azure Event Grid のサブスクリプションに配信されたイベントに応答
イベント受信のためにサブスクリプション ベースのモデルをサポート
ィルター処理含む
使用用途
イベント ベースのアーキテクチャを構築
EventHubTrigger
Azure イベント ハブに送信されたイベントに応答
使用用途
アプリケーションのインストルメンテーション、ユーザー エクスペリエンスやワークフローの処理
Azure IoT Hub
ServiceBusQueueTrigger
メッセージ キューをリッスンし、コードを他の Azure サービスまたはオンプレミスのサービスに接続
ServiceBusTopicTrigger
トピックをサブスクライブすることで、コードを他の Azure サービスまたはオンプレミスのサービスに接続
バインド
関数へのバインドは、関数に別のリソースを宣言的に接続する方法
バインドは入力バインド または出力バインド、あるいは両方として接続される場合がある
バインドからのデータは、パラメーターとして関数に提供
Azure Functions のトリガーとバインド | Microsoft Docs
使用例
Azure Cosmos DBのdocumentをURL叩いたら返す関数
http:azure.....api/hoge=id
注意
OS
Linuxは、Azure ポータルでFunction作成できないので注意
Trigger
Azure Cosmos DB
leases コレクションにうまく入らない問題
Function側でなく、Azure Cosmos DBからcosmosDB TriggerFunction作ったら、leasesが作られ、2ファイル入ってたので、この作成方法ですべき?
lesasesをCosmosで予め作ってうまく行かなかった。自動生成が良い
Message: {"Errors":["Owner resource does not exist"]}
参照しているAzure Cosmos DBが間違ってる
自分は、タイポだった
自動入力じゃないので割とミスする
Web3使えない
別のVM Virtual Machineなどを用意して間に挟む必要あり
わりと止まる、壊れる
普段から、vscode VsualStudioCodeを用いた開発をして、すぐ作り直せるようにしておきたい...
参考
Azure Functionsでサーバーレスアーキテクチャが何かを理解する - Qiita